namespace Avanzis.QueryObjects.Tests
{   
    public abstract class StatsObject : ActiveRecordBase<StatsObject>
    {
        protected int id;
        string seasonCode;
        int gameCode;
        string clubCode;
        int score;
        int fieldGoalsMade2 = 0;
        int fieldGoalsAttempted2 = 0;
        int fieldGoalsMade3 = 0;
        int fieldGoalsAttempted3 = 0;
        int freeThrowsMade = 0;
        int freeThrowsAttempted = 0;
        int defensiveRebounds = 0;
        int offensiveRebounds = 0;
        int assistances = 0;
        int steals = 0;
        int turnovers = 0;
        int contras = 0;
        int blocksFavour = 0;
        int blocksAgainst = 0;
        int dunks = 0;
        int foulsCommited = 0;
        int foulsReceived = 0;
        
        [PrimaryKey]
        public int Id
        {
            get { return id; }
            set { id = value; }
        }


        [Property]
        public string SeasonCode
        {
            get { return seasonCode; }
            set { seasonCode = value; }
        }
     
        [Property]
        public int GameCode
        {
            get { return gameCode; }
            set { gameCode = value; }
        }
        
        [Property]
        public string ClubCode
        {
            get { return clubCode; }
            set { clubCode = value; }
        }      
        
        [Property]
        public int Score
        {
            get { return score; }
            set { score = value; }
        }
        
        [Property]
        public int FieldGoalsMade2
        {
            get { return fieldGoalsMade2; }
            set { fieldGoalsMade2 = value; }
        }
        
        [Property]
        public int FieldGoalsAttempted2
        {
            get { return fieldGoalsAttempted2; }
            set { fieldGoalsAttempted2 = value; }
        }

        
        [Property]
        public int FieldGoalsMade3
        {
            get { return fieldGoalsMade3; }
            set { fieldGoalsMade3 = value; }
        }
        
        [Property]
        public int FieldGoalsAttempted3
        {
            get { return fieldGoalsAttempted3; }
            set { fieldGoalsAttempted3 = value; }
        }
        
        [Property]
        public int FreeThrowsMade
        {
            get { return freeThrowsMade; }
            set { freeThrowsMade = value; }
        }
        
        [Property]
        public int FreeThrowsAttempted
        {
            get { return freeThrowsAttempted; }
            set { freeThrowsAttempted = value; }
        }

        
        [Property]
        public int DefensiveRebounds
        {
            get { return defensiveRebounds; }
            set { defensiveRebounds = value; }
        }

       
        [Property]
        public int OffensiveRebounds
        {
            get { return offensiveRebounds; }
            set { offensiveRebounds = value; }
        }
        
        [Property]
        public int Assistances
        {
            get { return assistances; }
            set { assistances = value; }
        }
        
        [Property]
        public int Steals
        {
            get { return steals; }
            set { steals = value; }
        }
        
        [Property]
        public int Turnovers
        {
            get { return turnovers; }
            set { turnovers = value; }
        }
        
        [Property]
        public int Contras
        {
            get { return contras; }
            set { contras = value; }
        }
        
        [Property]
        public int BlocksFavour
        {
            get { return blocksFavour; }
            set { blocksFavour = value; }
        }
        
        [Property]
        public int BlocksAgainst
        {
            get { return blocksAgainst; }
            set { blocksAgainst = value; }
        }
        
        [Property]
        public int Dunks
        {
            get { return dunks; }
            set { dunks = value; }
        }
        
        [Property]
        public int FoulsCommited
        {
            get { return foulsCommited; }
            set { foulsCommited = value; }
        }
        
        [Property]
        public int FoulsReceived
        {
            get { return foulsReceived; }
            set { foulsReceived = value; }
        }
    }
}
